package demoMod.stsconsole.characters;

import demoMod.stsconsole.cards.AbstractCard;
import demoMod.stsconsole.cards.red.Bash;
import demoMod.stsconsole.cards.red.Defend_R;
import demoMod.stsconsole.cards.red.Strike_R;
import demoMod.stsconsole.potions.AbstractPotion;
import demoMod.stsconsole.relics.AbstractRelic;
import demoMod.stsconsole.relics.BurningBlood;

import java.util.ArrayList;
import java.util.List;

public class IronClad extends AbstractPlayer {
    public static final String ID = "IronClad";

    public IronClad() {
        super(ID);
        this.orbNum = 0;
        this.gold = 99;
        this.currentHealth = 80;
        this.maxHealth = 80;
        this.numCardsDrawPerTurn = 5;
        this.numEnergyGainPerTurn = 3;
    }

    @Override
    public List<String> getStartingDeck() {
        List<String> ret = new ArrayList<>();
        ret.add(Strike_R.ID);
        ret.add(Strike_R.ID);
        ret.add(Strike_R.ID);
        ret.add(Strike_R.ID);
        ret.add(Strike_R.ID);
        ret.add(Defend_R.ID);
        ret.add(Defend_R.ID);
        ret.add(Defend_R.ID);
        ret.add(Defend_R.ID);
        ret.add(Bash.ID);
        return ret;
    }

    @Override
    public List<String> getStartingRelics() {
        List<String> ret = new ArrayList<>();
        ret.add(BurningBlood.ID);
        return ret;
    }

    @Override
    public AbstractCard getCharacterBasicCard() {
        AbstractCard card = new Bash();
        card.onRemove();
        return card;
    }

    @Override
    public AbstractCard.CardColor getCardColor() {
        return AbstractCard.CardColor.RED;
    }

    @Override
    public AbstractRelic.RelicColor getRelicColor() {
        return AbstractRelic.RelicColor.RED;
    }

    @Override
    public AbstractPotion.PotionColor getPotionColor() {
        return AbstractPotion.PotionColor.RED;
    }
}
